package com.hjh.netty.elect.demo4;

import lombok.Data;
import lombok.ToString;

/**
 * PMC350主动上送固定头（帧格式）
 * @author pyz
 *
 */
@Data
@ToString
public class BaseAutoUploadDatas<T> {
	
	/**包标识（解析过后的）:
	 * 000：心跳包
	 * 001：表示终端发送给主站的 Modbus 回复帧，不需要主站回复
	 * 010：表示终端的主动上送报文，不需要主站回复
	 * 011：表示终端的主动上送报文，需要主站回复 ACK 	
	 * 100：预留
	 * 101：表示主站回复给终端的 ACK 报文
	 * 110：表示主站下发的广播帧，不需要终端回复
	 * 111：表示主站下发的请求帧，需要终端回复		
	 **/
	private String packetFlag; 
	
	
	/**
	 * 原本数据上传的包标识
	 */
	private String packetFlagAll; 
	
	/**
	 * 设备识别码长度
	 * 取值：1~16
	 * 0 表示1,
	 * 1 表示2
	 * ……
	 * 15表示16
	 */
	private int deviceIdCodeLength;
	
	/**
	 * 没解析之前的设备识别码长度
	 */
	private String deviceIdCodeLengthOld;
	
	/**
	 * 设备识别码(注册包)，长度1~16
	 */
	private String deviceIdCode;
	
	/**
	 * PayLoad 部分总长度 ，这里储存的值要乘以2，一个字节存一个十六进制数（两位）
	 * 取值：0~255
	 */
	private int payLoadLength;
	
	/**
	 * PayLoad 部分校验累加和
	 */
	private String payLoadVerifyTotal;
	
	//payload数据
	private T payLaod;
	
}
